2010

10 分钟

#C 语言的简介

C 语言是一种通用的高级程序设计语言,由 Dennis Ritchie1972 年在贝尔实验室开发,最初用于实现 UNIX 操作系统。

C 语言兼具低级语言的效率与高级语言的可读性,因而广泛应用于系统开发和嵌入式领域。

C 语言是许多现代编程语言(如 C++、Java、C#、Objective-C、Go)发展的基础。理解 C 语言有助于深入掌握计算机工作原理和其他编程语言的底层机制。

#语言特点

  • 简洁高效:语法简单、运行效率高。
  • 结构化程序设计:支持函数、模块化开发,便于管理大型程序。
  • 低级操作能力强:可以直接操作内存,适合底层开发。
  • 可移植性强:C 语言编写的程序在不同平台之间易于移植。
  • 标准库丰富:提供诸如输入输出、数学、字符串处理等标准函数。

#应用领域

  • 操作系统(如 UNIX、Linux 内核)
  • 嵌入式系统(如单片机、物联网设备)
  • 编译器与解释器
  • 图形界面和游戏引擎底层开发
  • 数据库系统
  • 高性能计算

#环境配置

#Windows

Windows 平台可以使用 Visual Studio 作为继承开发环境,或者使用 MinGW 作为编译器。

项目下载地址
Visual Studio社区版(免费) 专业版 企业版
MinGW-W64GitHub

MinGW 建议下载命名为 x86_64-xx.xx.xx-release-posix-seh-ucrt-rt_vxx-rev0.7z 的版本,解压后将 bin 目录加入 PATH 环境变量即可。

参考 通识基础-配置环境变量

MinGW 命名的说明

  • 架构
    • x86_64 - 64 位。
    • i686 - 32 位。
  • 线程模型
    • posix - 使用 POSIX 线程模型(pthread),适合需要跨平台 POSIX 兼容性的程序。
    • win32 - 使用原生 Windows 线程(CreateThread),不支持 C++11 的 std::thread,适合 Windows 本地开发。
  • 异常处理模型
    • seh - Structured Exception Handling,Windows 64 位推荐使用
    • sjlj - SetJump/LongJump,适用于部分特殊平台(较慢)
    • dwarf - 使用 DWARF 调试信息中的异常处理,仅适用于 32 位
  • 运行时
    • ucrt - 微软推出的新 Universal C Runtime,推荐用于现代开发。
    • mcf - Microsoft C Runtime Fork,MinGW-w64 项目实验性自行开发的运行时,尝试更好控制和兼容。
    • msvcrt - 微软原始的运行时 DLL,兼容性好,但老旧。

#Linux

Linux 平台通常使用 GNU Compiler Collection 作为 C 语言的编译器,可以通过以下包管理命令安装。

APT:

sudo apt install gcc

YUM:

sudo yum install gcc

其他包管理器也是类似的方式。

创建于 2025/6/22

更新于 2025/6/22